#

| Chapter 5 The C Shell |

## eval

    eval args

Typically, eval is used in shell scripts, and `args` is a line of code that contains shell variables. eval forces variable expansion to happen first and then runs the resulting command. This "double-scanning" is useful any time shell variables contain input/output redirection symbols, aliases, or other shell variables. (For example, redirection normally happens before variable expansion, so a variable containing redirection symbols must be expanded first using eval; otherwise, the redirection symbols remain uninterpreted.) A Bourne shell example can be found under eval in Section 4. Other uses of eval are shown below and under alias.

### Examples

The following lines can be placed in the .login file to set up terminal characteristics:

>     set noglob
>     eval `tset -s xterm`
>     unset noglob

The following commands show the effect of eval:

>     % set b='$a'
>     % set a=hello
>     % echo $b	Read the command line once.
>     $a
>     % eval echo $b	Read the command line twice.
>     hello

Reference: endif |  | Reference: exec